﻿/*
“顺”序列 
Time Limit:1000MS  Memory Limit:32768K


Description:
贝贝5岁了。她从一堆数字卡片中选出了4张卡片：5、7、6、8。她摆布了一阵这些卡片后，发现它们可以排成比较顺的序列：5、6、7、8。她同样拿了另4张卡片：5、7、1、2，可是怎么也排不成“顺”的序列。原来，贝贝的所谓“顺”序列是我们所知道的等差数列！贝贝一边拿起一堆数字卡片，一边就在摆布它们，尝试着让它们“顺”起来，可总是有些“顺”，有些不“顺”。这个问题得靠你给她帮忙了，设计一个程序，能够判断对于给定的一堆数字，能“顺”还是不能“顺”。 

Input:
输入中第一行为一个整数n（1≤n≤10），描述后面一共有n组卡片，每组卡片的第一个数m（1≤m≤100），表示后面会出现m张卡片。 
Output:
针对每组卡片，判断是否能构成“顺”序列。如果能构成“顺”序列，则输出“yes”，否则就输出“no”。每个结果应分别不同行显示。 
Sample Input:
2
4 5 7 6 8
8 1 7 3 2 8 12 78 3
Sample Output:
yes
no

*/

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;


int main(int argc, char *argv[])
{
	int n;
	cin>>n;
	for (int m; cin>>m;)
	{
		vector<int> vints;	
		vints.reserve(m);
		while (m--)
		{
			int num;
			cin>>num;
			vints.push_back(num);
		}
		
		if(vints.size()<2)
		{
			cout<<"yes"<<endl;
			continue;
		}
		sort(vints.begin(), vints.end());

		int i=1, size=vints.size();
		int delta=vints[i]-vints[i-1];
		
		for (; i<size; ++i)
			if(vints[i-1]+delta-vints[i])
				break;
		
		if(i==size)
			cout<<"yes"<<endl;
		else
			cout<<"no"<<endl;		
	}
	return 0;
}
